home *** CD-ROM | disk | FTP | other *** search
- /*
- * RConfig -- Replacement Library Configuration
- * Copyright 1992 by Anthon Pang, Omni Communications Products
- *
- * Source File: rc2.c
- * Description: Source file generated by GTB.
- * Comments: This header added after creation by GTB.
- * Additional casting for clean compile.
- * Mods to save/recall ccopts between window invocations.
- */
-
- /*
- * Source generated with GadToolsBox V1.4
- * which is (c) Copyright 1991,92 Jaba Development
- */
-
- #include <exec/types.h>
- #include <intuition/intuition.h>
- #include <intuition/classes.h>
- #include <intuition/classusr.h>
- #include <intuition/imageclass.h>
- #include <intuition/gadgetclass.h>
- #include <libraries/gadtools.h>
- #include <graphics/displayinfo.h>
- #include <graphics/gfxbase.h>
- #include <clib/exec_protos.h>
- #include <clib/intuition_protos.h>
- #include <clib/gadtools_protos.h>
- #include <clib/graphics_protos.h>
- #include <clib/utility_protos.h>
- #include <string.h>
-
- #include "rc2.h"
-
- struct Screen *Scr = NULL;
- APTR VisualInfo = NULL;
- struct Window *RConfigWnd = NULL;
- struct Window *CCOPTSWnd = NULL;
- struct Gadget *RConfigGList = NULL;
- struct Gadget *CCOPTSGList = NULL;
- struct Menu *RConfigMenus = NULL;
- struct Gadget *RConfigGadgets[15];
- struct Gadget *CCOPTSGadgets[12];
- UWORD RConfigLeft = 10;
- UWORD RConfigTop = 15;
- UWORD RConfigWidth = 557;
- UWORD RConfigHeight = 118;
- UWORD CCOPTSLeft = 10;
- UWORD CCOPTSTop = 15;
- UWORD CCOPTSWidth = 609;
- UWORD CCOPTSHeight = 119;
- UBYTE *RConfigWdt = (UBYTE *)"Replacement Library Configuration";
- UBYTE *CCOPTSWdt = (UBYTE *)"Optimization Control";
-
- UBYTE *ALLOCA_TYPE0Labels[] = {
- (UBYTE *)"Safe",
- (UBYTE *)"Risky",
- NULL };
-
- UBYTE *STKCHK_TYPE0Labels[] = {
- (UBYTE *)"Better",
- (UBYTE *)"Dynastack",
- NULL };
-
- UBYTE *MAIN_TYPE0Labels[] = {
- (UBYTE *)"Detach",
- (UBYTE *)"Resident",
- NULL };
-
- UBYTE *INTEGER_SIZE0Labels[] = {
- (UBYTE *)"32 bits",
- (UBYTE *)"16 bits",
- NULL };
-
- UBYTE *DATA_SIZE0Labels[] = {
- (UBYTE *)"Small",
- (UBYTE *)"Large",
- NULL };
-
- UBYTE *susr1Labels[] = {
- (UBYTE *)"Ignore",
- (UBYTE *)"Allocate First",
- NULL };
-
- struct TextAttr topaz8 = {
- ( STRPTR )"topaz.font", 8, 0x00, 0x00 };
-
- struct IntuiText RConfigIText[] = {
- 2, 0, JAM1,195, 67, &topaz8, (UBYTE *)"Compiler Configuration", &RConfigIText[1],
- 1, 0, JAM1,77, 11, &topaz8, (UBYTE *)"_", &RConfigIText[2],
- 1, 0, JAM1,37, 30, &topaz8, (UBYTE *)"_", &RConfigIText[3],
- 1, 0, JAM1,53, 48, &topaz8, (UBYTE *)"_", &RConfigIText[4],
- 1, 0, JAM1,20, 83, &topaz8, (UBYTE *)"_", &RConfigIText[5],
- 1, 0, JAM1,210, 83, &topaz8, (UBYTE *)"_", &RConfigIText[6],
- 1, 0, JAM1,330, 7, &topaz8, (UBYTE *)"_", NULL };
-
- struct IntuiText CCOPTSIText[] = {
- 1, 0, JAM1,14, 7, &topaz8, (UBYTE *)"Optimization", &CCOPTSIText[1],
- 1, 0, JAM1,280, 7, &topaz8, (UBYTE *)"Register", NULL };
-
- struct NewMenu RConfigNewMenu[] = {
- NM_TITLE, (STRPTR)"Project", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"About...", (STRPTR)"?", 0, 0L, NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Change Directory...", (STRPTR)"C", 0, 0L, NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Quit", (STRPTR)"Q", 0, 0L, NULL,
- NM_END, NULL, NULL, 0, 0L, NULL };
-
- UWORD RConfigGTypes[] = {
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CYCLE_KIND,
- CYCLE_KIND,
- CYCLE_KIND,
- CYCLE_KIND,
- CYCLE_KIND,
- INTEGER_KIND,
- INTEGER_KIND,
- INTEGER_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND
- };
-
- UWORD CCOPTSGTypes[] = {
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CYCLE_KIND,
- BUTTON_KIND
- };
-
- struct NewGadget RConfigNGad[] = {
- 133, 8, 26, 11, (UBYTE *)"AllocA", NULL, GD_ALLOCA_CHK, PLACETEXT_LEFT ,NULL, NULL,
- 385, 4, 26, 11, (UBYTE *)"StkChk", NULL, GD_STKCHK_CHK, PLACETEXT_LEFT ,NULL, NULL,
- 133, 27, 26, 11, (UBYTE *)"SetJmp/LongJmp", NULL, GD_SETJMP_CHK, PLACETEXT_LEFT ,NULL, NULL,
- 133, 45, 26, 11, (UBYTE *)"Main/Exit", NULL, GD_MAIN_CHK, PLACETEXT_LEFT ,NULL, NULL,
- 179, 7, 106, 13, NULL, NULL, GD_ALLOCA_TYPE, 0 ,NULL, NULL,
- 430, 3, 106, 13, NULL, NULL, GD_STKCHK_TYPE, 0 ,NULL, NULL,
- 179, 44, 106, 13, NULL, NULL, GD_MAIN_TYPE, 0 ,NULL, NULL,
- 84, 79, 106, 13, (UBYTE *)"Integer", NULL, GD_INTEGER_SIZE, 0 ,NULL, NULL,
- 250, 79, 106, 13, (UBYTE *)"Data", NULL, GD_DATA_SIZE, 0 ,NULL, NULL,
- 454, 18, 82, 13, (UBYTE *)"Threshhold", NULL, GD_STKCHK_MINSTK, PLACETEXT_LEFT ,NULL, NULL,
- 453, 33, 82, 13, (UBYTE *)"Stack Size", NULL, GD_STKCHK_STKSIZE, PLACETEXT_LEFT ,NULL, NULL,
- 454, 48, 82, 13, (UBYTE *)"Context Size", NULL, GD_STKCHK_CONTEXT, PLACETEXT_LEFT ,NULL, NULL,
- 82, 100, 165, 13, (UBYTE *)"Generate Library", NULL, GD_GENLIB, PLACETEXT_IN ,NULL, NULL,
- 321, 100, 153, 13, (UBYTE *)"Cancel", NULL, GD_CANCEL, PLACETEXT_IN ,NULL, NULL,
- 379, 79, 153, 13, (UBYTE *)" Optimization...", NULL, GD_Flags, PLACETEXT_IN ,NULL, NULL
- };
-
- struct NewGadget CCOPTSNGad[] = {
- 14, 18, 26, 11, (UBYTE *)"Two Pass Assembly", NULL, GD_sa, PLACETEXT_RIGHT ,NULL, NULL,
- 14, 32, 26, 11, (UBYTE *)"Built-In String Operations", NULL, GD_sb, PLACETEXT_RIGHT ,NULL, NULL,
- 13, 46, 26, 11, (UBYTE *)"Bottom for(;;) Loop Test", NULL, GD_sf, PLACETEXT_RIGHT ,NULL, NULL,
- 13, 60, 26, 11, (UBYTE *)"Define __C_MACROS_", NULL, GD_sm, PLACETEXT_RIGHT ,NULL, NULL,
- 13, 74, 26, 11, (UBYTE *)"Merge Duplicate Strings", NULL, GD_ss, PLACETEXT_RIGHT ,NULL, NULL,
- 13, 88, 26, 11, (UBYTE *)"Delay Popping Arguments Until Necessary", NULL, GD_sp, PLACETEXT_RIGHT ,NULL, NULL,
- 280, 18, 26, 11, (UBYTE *)"Allow a4 as Register Variable", NULL, GD_r4, PLACETEXT_RIGHT ,NULL, NULL,
- 280, 32, 26, 11, (UBYTE *)"Allow a6 as Register Variable", NULL, GD_r6, PLACETEXT_RIGHT ,NULL, NULL,
- 280, 46, 26, 11, (UBYTE *)"Weighted Usage Register Allocation", NULL, GD_srsu, PLACETEXT_RIGHT ,NULL, NULL,
- 13, 102, 26, 11, (UBYTE *)"Remove Unnecessary LINK/UNLK", NULL, GD_sn, PLACETEXT_RIGHT ,NULL, NULL,
- 432, 59, 153, 13, (UBYTE *)"User Variables", NULL, GD_susr, PLACETEXT_LEFT ,NULL, NULL,
- 512, 100, 81, 14, (UBYTE *)"Done", NULL, GD_Done, PLACETEXT_IN ,NULL, NULL
- };
-
- ULONG *RConfigGTags[] = {
- (ULONG *)(TAG_DONE),
- (ULONG *)(TAG_DONE),
- (ULONG *)(TAG_DONE),
- (ULONG *)(TAG_DONE),
- (ULONG * )(GTCY_Labels), (ULONG *)&ALLOCA_TYPE0Labels[ 0 ], (ULONG *)(TAG_DONE),
- (ULONG * )(GTCY_Labels), (ULONG *)&STKCHK_TYPE0Labels[ 0 ], (ULONG *)(TAG_DONE),
- (ULONG * )(GTCY_Labels), (ULONG *)&MAIN_TYPE0Labels[ 0 ], (ULONG *)(TAG_DONE),
- (ULONG * )(GTCY_Labels), (ULONG *)&INTEGER_SIZE0Labels[ 0 ], (ULONG *)(TAG_DONE),
- (ULONG * )(GTCY_Labels), (ULONG *)&DATA_SIZE0Labels[ 0 ], (ULONG *)(TAG_DONE),
- (ULONG *)(GTIN_Number), (ULONG *)2768, (ULONG *)(GTIN_MaxChars), (ULONG *)10, (ULONG *)(TAG_DONE),
- (ULONG *)(GTIN_Number), (ULONG *)8192, (ULONG *)(GTIN_MaxChars), (ULONG *)10, (ULONG *)(TAG_DONE),
- (ULONG *)(GTIN_Number), (ULONG *)128, (ULONG *)(GTIN_MaxChars), (ULONG *)10, (ULONG *)(TAG_DONE),
- (ULONG *)(TAG_DONE),
- (ULONG *)(TAG_DONE),
- (ULONG *)(TAG_DONE)
- };
-
- extern ULONG ccopts[10];
-
- ULONG *CCOPTSGTags[] = {
- (ULONG *)(GTCB_Checked), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
- (ULONG *)(GTCB_Checked), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
- (ULONG *)(GTCB_Checked), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
- (ULONG *)(GTCB_Checked), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
- (ULONG *)(GTCB_Checked), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
- (ULONG *)(GTCB_Checked), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
- (ULONG *)(GTCB_Checked), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
- (ULONG *)(GTCB_Checked), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
- (ULONG *)(GTCB_Checked), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
- (ULONG *)(GTCB_Checked), (ULONG *)TRUE, (ULONG *)(TAG_DONE),
- (ULONG * )(GTCY_Labels), (ULONG *)&susr1Labels[ 0 ], (ULONG *)(TAG_DONE),
- (ULONG *)(TAG_DONE)
- };
-
- int SetupScreen( void )
- {
- if ( ! ( Scr = LockPubScreen((UBYTE * )"Workbench" )))
- return( 1L );
-
- if ( ! ( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
- return( 2L );
-
- return( 0L );
- }
-
- void CloseDownScreen( void )
- {
- if ( VisualInfo ) {
- FreeVisualInfo( VisualInfo );
- VisualInfo = NULL;
- }
-
- if ( Scr ) {
- UnlockPubScreen( NULL, Scr );
- Scr = NULL;
- }
- }
-
- void RConfigRender( void )
- {
- UWORD offx, offy;
-
- offx = RConfigWnd->BorderLeft;
- offy = RConfigWnd->BorderTop;
-
- PrintIText( RConfigWnd->RPort, RConfigIText, (long)offx, (long)offy );
-
- DrawBevelBox( RConfigWnd->RPort, offx + 9, offy + 64, 531, 32, GT_VisualInfo, VisualInfo, TAG_DONE );
- }
-
- int OpenRConfigWindow( void )
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
-
- if ( ! ( g = CreateContext( &RConfigGList )))
- return( 1L );
-
- for( lc = 0, tc = 0; lc < RConfig_CNT; lc++ ) {
-
- CopyMem((char * )&RConfigNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = VisualInfo;
- ng.ng_TextAttr = &topaz8;
- ng.ng_LeftEdge += offx;
- ng.ng_TopEdge += offy;
-
- RConfigGadgets[ lc ] = g = CreateGadgetA((ULONG)RConfigGTypes[ lc ], g, &ng, ( struct TagItem * )&RConfigGTags[ tc ] );
-
- while( RConfigGTags[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- return( 2L );
- }
-
- if ( ! ( RConfigMenus = CreateMenus( RConfigNewMenu, GTMN_FrontPen, 0L, TAG_DONE )))
- return( 3L );
-
- LayoutMenus( RConfigMenus, VisualInfo, GTMN_TextAttr, &topaz8, TAG_DONE );
-
- if ( ! ( RConfigWnd = OpenWindowTags( NULL,
- WA_Left, RConfigLeft,
- WA_Top, RConfigTop,
- WA_Width, RConfigWidth,
- WA_Height, RConfigHeight + offy,
- WA_IDCMP, CHECKBOXIDCMP|CYCLEIDCMP|INTEGERIDCMP|BUTTONIDCMP|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_VANILLAKEY|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH,
- WA_Gadgets, RConfigGList,
- WA_Title, RConfigWdt,
- WA_ScreenTitle, "RConfig v1.1 © 1992 OCP",
- TAG_DONE )))
- return( 4L );
-
- SetMenuStrip( RConfigWnd, RConfigMenus );
- GT_RefreshWindow( RConfigWnd, NULL );
-
- RConfigRender();
-
- return( 0L );
- }
-
- void CloseRConfigWindow( void )
- {
- if ( RConfigMenus ) {
- ClearMenuStrip( RConfigWnd );
- FreeMenus( RConfigMenus );
- RConfigMenus = NULL; }
-
- if ( RConfigWnd ) {
- CloseWindow( RConfigWnd );
- RConfigWnd = NULL;
- }
-
- if ( RConfigGList ) {
- FreeGadgets( RConfigGList );
- RConfigGList = NULL;
- }
- }
-
- void CCOPTSRender( void )
- {
- UWORD offx, offy;
-
- offx = CCOPTSWnd->BorderLeft;
- offy = CCOPTSWnd->BorderTop;
-
- PrintIText( CCOPTSWnd->RPort, CCOPTSIText, (long)offx, (long)offy );
-
- DrawBevelBox( CCOPTSWnd->RPort, offx + 270, offy + 3, 324, 73, GT_VisualInfo, VisualInfo, TAG_DONE );
- }
-
- int OpenCCOPTSWindow( void )
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
-
- if ( ! ( g = CreateContext( &CCOPTSGList )))
- return( 1L );
-
- for( lc = 0, tc = 1; lc <= 9; tc += 3) {
- CCOPTSGTags[tc] = (ULONG *)ccopts[lc++];
- }
-
- for( lc = 0, tc = 0; lc < CCOPTS_CNT; lc++ ) {
-
- CopyMem((char * )&CCOPTSNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = VisualInfo;
- ng.ng_TextAttr = &topaz8;
- ng.ng_LeftEdge += offx;
- ng.ng_TopEdge += offy;
-
- CCOPTSGadgets[ lc ] = g = CreateGadgetA((ULONG)CCOPTSGTypes[ lc ], g, &ng, ( struct TagItem * )&CCOPTSGTags[ tc ] );
-
- while( CCOPTSGTags[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- return( 2L );
- }
-
- if ( ! ( CCOPTSWnd = OpenWindowTags( NULL,
- WA_Left, CCOPTSLeft,
- WA_Top, CCOPTSTop,
- WA_Width, CCOPTSWidth,
- WA_Height, CCOPTSHeight + offy,
- WA_IDCMP, CHECKBOXIDCMP|CYCLEIDCMP|BUTTONIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH,
- WA_Gadgets, CCOPTSGList,
- WA_Title, CCOPTSWdt,
- WA_ScreenTitle, "RConfig v1.1 © 1992 OCP",
- TAG_DONE )))
- return( 4L );
-
- GT_RefreshWindow( CCOPTSWnd, NULL );
-
- CCOPTSRender();
-
- return( 0L );
- }
-
- void CloseCCOPTSWindow( void )
- {
- if ( CCOPTSWnd ) {
- CloseWindow( CCOPTSWnd );
- CCOPTSWnd = NULL;
- }
-
- if ( CCOPTSGList ) {
- FreeGadgets( CCOPTSGList );
- CCOPTSGList = NULL;
- }
- }
-
-